第3章 三角測量
三角測量を真似て、コードを一般化できるのは、2つ以上の実例があるときだけ (Kindle の位置No.490)
設計のアイデアが浮かばないときの三角測量
一般化したコードを書ける時は三角測量せずに書いてよい
1つの実例ではそれをそのまま返す仮実装となる
オブジェクトを値として使うこともできる。今回使っているDollarオブジェクトもそうで、Value Objectパターンと呼ばれる。(Kindle の位置No.449-450)
Value Objectには、コンストラクタで設定したインスタンス変数の値が変わってはならないという制約がある。(Kindle の位置No.450-451)
操作はすべて新しいオブジェクトを返さなければならない。また、Value Objectはequalsメソッドを実装しなければならない。(Kindle の位置No.462-463)
ValueObjectを使う大きなメリットは、別名参照(aliasing)を気にする必要がなくなることだ。(Kindle の位置No.451-452)
Value Object: 一度つくられたら絶対に値が変わらないオブジェクトをつくって別名参照問題を防ぐ